计算机械臂的名义最大笛卡尔空间速率接口介绍
修订日期 | 修订版本 | 修订内容 | 修订人 |
---|---|---|---|
2024.9.4 | v0.1 | 初始化文档 | 邓誉鑫 |
1 接口介绍
该接口用于计算机械臂的最大名义笛卡尔空间速率和加速度速率,最大典型轨迹笛卡尔空间速率和加速度率,两个速率和加速度率反映了机械臂在特定操作条件下的最大运动能力
/**
* @brief 计算机械臂的最大名义笛卡尔空间速率和典型轨迹的速率和加速度率
* 1) 在标准负载的情况下进行计算, 负载质量即为机械臂的额定负载, 质心在法兰中心点
* 2) 最大名义笛卡尔空间速率一般指的是: 在正装状态下,机械臂二关节处于90度,其他各关节处于0位时,1关节从-90度运动到90度运动过程中的最大速率
* 3) 最大典型轨迹笛卡尔空间速率一般指的是: 在机械臂标定立方体内对角线上两个顶点之间直线运动时的最大速率
* @param max_joint_vel: 机械臂各个关节的最大关节速度
* @param max_joint_vel: 机械臂各个关节的最大关节加速度
* @param max_joint_torue: 机械臂各个关节的最大平均负载力矩
* @param nominal_maximum_vel: 最大名义笛卡尔空间速率
* @param nominal_maximum_acc: 最大名义笛卡尔空间加速度率
* @param typical_traj_vel: 最大典型轨迹笛卡尔空间速率
* @param typical_traj_acc: 最大典型轨迹笛卡尔空间加速度率
* @return ret < 0: 计算失败
*/
ARAL_API_CUSTOM(1.0) int utlCalMaximumCartesianVelocity(const RLJntArray& max_joint_vel, const RLJntArray& max_joint_acc, const RLJntArray& max_joint_torue, Array2d& nominal_maximum_vel, Array2d& nominal_maximum_acc, Array2d& typical_traj_vel, Array2d& typical_traj_acc)const = 0;
此接口通过机械臂各关节的最大关节速度、最大角加速度以及最大平均负载扭矩来计算上述两个最大速度
- max_joint_vel: 用户输入的机械臂各关节最大关节速度,表示允许各关节能够达到的最大运动速度
- max_joint_acc: 用户输入的机械臂各关节最大关节加速度,表示允许各关节能够达到的最大加速度
- max_joint_torque: 机械臂各关节的最大平均负载扭矩,用于设定标准负载条件下每个关节的最大扭矩能力
- nominal_maximum_vel: 最大名义笛卡尔空间速率,包含两个值:末端执行器的最大线速度率和最大角速度率
- nominal_maximum_acc: 最大名义笛卡尔空间加速度,包含两个值:末端执行器的最大线加速度率和最大角加速度率
- typical_traj_vel: 最大典型轨迹笛卡尔空间速度,包含两个值:标定立方体内沿最长对角线运动时的最大线速度率和角速度率
- typical_traj_acc: 最大典型轨迹笛卡尔空间加速度,包含两个值:标定立方体内沿最长对角线运动时的最大线加速度和角加速度率
2 开发例程及使用说明
以下是该接口的使用示例,演示了如何通过设置最大负载参数和最大关节速度/加速度来计算机械臂的最大笛卡尔空间速率和加速度率:
//! 给定最大关节速度和关节加速度
const interface::RLJntArray max_joint_vel = {3.14, 3.14, 3.14, 3.14, 3.14, 3.14};
const interface::RLJntArray max_joint_acc = {10, 10, 10, 10, 10, 10};
//! 获得机械臂各关节的最大平均负载扭矩
interface::RLJntArray maxAverageTorque;
robot->mdlGetJointMaximumAverageTorque(maxAverageTorque);
interface::Array2d nominal_maximum_vel;
interface::Array2d typical_traj_vel;
int ret = robot->utlCalMaximumCartesianVelocity(max_joint_vel, max_joint_acc, maxAverageTorque, nominal_maximum_vel, typical_traj_vel);
CHECK(ret >= 0);
此接口适用于机械臂的运动规划、动态控制以及性能评估等场景,确保机械臂在特定负载和运动条件下能够以合理的速度执行任务